Multimedia servers generate data representative of pictures in a video stream, e.g., a video stream that has been requested by a user. An encoder encodes the data for each picture to form a bitstream that is transmitted over a network to a decoder that decodes the bitstream and provides the decoded video information to a multimedia application for display to the user. Such multimedia encoders and decoders are used in a wide variety of applications to facilitate the storage and transfer of multimedia streams in a compressed fashion.
Encoders implement video compression algorithms that use information from more than one picture to encode some types of received pictures. For example, an intra-coded picture (such as an I-frame) is a fully specified picture that is encoded and decoded without reference to any other picture. A predicted picture (such as a P-frame) is encoded and decoded with reference to one or more previous pictures and therefore typically requires fewer bits to encode than an intra-coded picture. A bi-directional predicted picture (such as a B-frame) is encoded and decoded with reference to one or more previous pictures and/or one or more subsequent pictures. The bi-directional predicted picture typically requires fewer bits to encode than an intra-coded picture or a predicted picture. Encoding and decoding pictures based on previous or subsequent pictures reduces the amount of information transmitted between the encoder and the decoder, as well as reducing the workload at the decoder. Encoding, transmitting, and decoding video frames consumes bandwidth and computational resources, particularly for intra-coded frames that must be independently encoded and decoded. In some instances, consecutive pictures are essentially identical (i.e., the scene is “static” between the two pictures), but slight differences due to quantization noise or other factors cause them to be encoded as distinct pictures, resulting in the unnecessary consumption of computing resources and bandwidth in encoding, transmitting, and decoding of essentially duplicate images.